# 创建列表
lst=[10,30,50,60]
print(lst)

lst1 = [i for i in range(1,10)]
print(lst1)

lst10 = [item for item in range(0,10) if item % 2 == 0]
print(lst10,'--list10')

lst2 = list(range(1,10))
print(lst2)

lst3= list('helloworld')
print(lst3)

# 动态生成二维列表

lstArr = [[item for item in range(0,i+1)] for i in range(0,10)]
print(lstArr,'listArr')


# lst4 = list(10) #'int' object is not iterable
# print(lst4)

lst5 = list('10')
print(lst5)
# 删除对象
del lst5
# print(lst5) #报错，lst4不存在


# 列表枚举
lst6 = [10,'40','ab','cd','ef','ab','cd']
# 切片后再秆环
for item in lst6[0:len(lst6)]:
    print(item,'===切片')

for item in lst6:
    print(item)

for item in range(0,len(lst6)):
    print(lst6[item],'===range')

# index是不标， item是值
for index, item in enumerate(lst6):
    print(index,'==>',item)

# start规定 index默认从几开始， 默认为1，可以直接写数字
for index, item in enumerate(lst6 ,start=10):
    print(index,'==>',item)

# 添加元素并放在列表中最后一位
lst6.append('abc')
print(lst6)

# insert 添加元素并指定放在哪个位置，其它元素依次后退
lst6.insert(1,'def')
print(lst6)

#清空数组
lst.clear()
print(lst,'清空lst列表')

# 删除列表中某一位,并返回删除的元素
result = lst6.pop(1)
print(lst6,'===>',result)

# 删除指定元素，如果指定元素出现多次，则只删除首次 , 这个没有返回值 ,
lstresult= lst6.remove('ab')
print(lst6,'===>',lstresult)
# 删除不存在的元素则会报错
# lst6.remove('234234')
# print(lst6)

#反转列表,没的返回值
lst6.reverse()
print(lst6,'===>翻转===>')

# 复制列表
lst7 = lst6.copy()
lst7[0] = 100
print(lst6,'===>',lst7)


# 列表排序
lst8 = [19,3,4,90,12,35,23,64,2.32]
lst8.sort()
print(lst8,'----sort')
lst8.sort(reverse=True)
print(lst8,'----sort')

# 排序产生一个新列表，与原列表无关
lst9 = sorted(lst8,reverse=False)
lst9[3]='改变'
print(lst9,'----sorted--->',lst8)